﻿namespace SLClient.ServiceAPI
{
    using System;
    using System.CodeDom.Compiler;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Runtime.Serialization;
    using System.Threading;

    [GeneratedCode("System.Runtime.Serialization", "4.0.0.0"), DataContract(Name="SiteConfig", Namespace="http://schemas.datacontract.org/2004/07/SLClient"), DebuggerStepThrough]
    public class SiteConfig : INotifyPropertyChanged
    {
        private int IdField;
        private decimal LowerMemberFiandianSpanceField;
        private decimal? MaxJiangjinField;
        private decimal? MaxMoneyOutField;
        private decimal MaxNewUserFiandianField;
        private decimal MaxSiteFiandianField;
        private decimal MinBetMoneyField;
        private decimal? MinJiangjinField;
        private decimal? MinMoneyOutField;
        private int MoneyOutCountField;
        private DateTime? MoneyOutEndField;
        private DateTime? MoneyOutStartField;
        private PropertyChangedEventHandler _PropertyChanged;
        private decimal UpperMemberFiandianSpanceField;

        public event PropertyChangedEventHandler PropertyChanged
        {
            add
            {
                PropertyChangedEventHandler handler2;
                PropertyChangedEventHandler propertyChanged = this._PropertyChanged;
                do
                {
                    handler2 = propertyChanged;
                    PropertyChangedEventHandler handler3 = (PropertyChangedEventHandler) Delegate.Combine(handler2, value);
                    propertyChanged = Interlocked.CompareExchange<PropertyChangedEventHandler>(ref this._PropertyChanged, handler3, handler2);
                }
                while (propertyChanged != handler2);
            }
            remove
            {
                PropertyChangedEventHandler handler2;
                PropertyChangedEventHandler propertyChanged = this._PropertyChanged;
                do
                {
                    handler2 = propertyChanged;
                    PropertyChangedEventHandler handler3 = (PropertyChangedEventHandler) Delegate.Remove(handler2, value);
                    propertyChanged = Interlocked.CompareExchange<PropertyChangedEventHandler>(ref this._PropertyChanged, handler3, handler2);
                }
                while (propertyChanged != handler2);
            }
        }

        protected void RaisePropertyChanged(string propertyName)
        {
            PropertyChangedEventHandler propertyChanged = this._PropertyChanged;
            if (propertyChanged != null)
            {
                propertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }

        [DataMember]
        public int Id
        {
            get
            {
                return this.IdField;
            }
            set
            {
                if (!this.IdField.Equals(value))
                {
                    this.IdField = value;
                    this.RaisePropertyChanged("Id");
                }
            }
        }

        [DataMember(Order=3)]
        public decimal LowerMemberFiandianSpance
        {
            get
            {
                return this.LowerMemberFiandianSpanceField;
            }
            set
            {
                if (!this.LowerMemberFiandianSpanceField.Equals(value))
                {
                    this.LowerMemberFiandianSpanceField = value;
                    this.RaisePropertyChanged("LowerMemberFiandianSpance");
                }
            }
        }

        [DataMember(Order=2)]
        public decimal? MaxJiangjin
        {
            get
            {
                return this.MaxJiangjinField;
            }
            set
            {
                if (!this.MaxJiangjinField.Equals(value))
                {
                    this.MaxJiangjinField = value;
                    this.RaisePropertyChanged("MaxJiangjin");
                }
            }
        }

        [DataMember(Order=8)]
        public decimal? MaxMoneyOut
        {
            get
            {
                return this.MaxMoneyOutField;
            }
            set
            {
                if (!this.MaxMoneyOutField.Equals(value))
                {
                    this.MaxMoneyOutField = value;
                    this.RaisePropertyChanged("MaxMoneyOut");
                }
            }
        }

        [DataMember(Order=12)]
        public decimal MaxNewUserFiandian
        {
            get
            {
                return this.MaxNewUserFiandianField;
            }
            set
            {
                if (!this.MaxNewUserFiandianField.Equals(value))
                {
                    this.MaxNewUserFiandianField = value;
                    this.RaisePropertyChanged("MaxNewUserFiandian");
                }
            }
        }

        [DataMember(Order=5)]
        public decimal MaxSiteFiandian
        {
            get
            {
                return this.MaxSiteFiandianField;
            }
            set
            {
                if (!this.MaxSiteFiandianField.Equals(value))
                {
                    this.MaxSiteFiandianField = value;
                    this.RaisePropertyChanged("MaxSiteFiandian");
                }
            }
        }

        [DataMember(Order=11)]
        public decimal MinBetMoney
        {
            get
            {
                return this.MinBetMoneyField;
            }
            set
            {
                if (!this.MinBetMoneyField.Equals(value))
                {
                    this.MinBetMoneyField = value;
                    this.RaisePropertyChanged("MinBetMoney");
                }
            }
        }

        [DataMember]
        public decimal? MinJiangjin
        {
            get
            {
                return this.MinJiangjinField;
            }
            set
            {
                if (!this.MinJiangjinField.Equals(value))
                {
                    this.MinJiangjinField = value;
                    this.RaisePropertyChanged("MinJiangjin");
                }
            }
        }

        [DataMember(Order=9)]
        public decimal? MinMoneyOut
        {
            get
            {
                return this.MinMoneyOutField;
            }
            set
            {
                if (!this.MinMoneyOutField.Equals(value))
                {
                    this.MinMoneyOutField = value;
                    this.RaisePropertyChanged("MinMoneyOut");
                }
            }
        }

        [DataMember(Order=10)]
        public int MoneyOutCount
        {
            get
            {
                return this.MoneyOutCountField;
            }
            set
            {
                if (!this.MoneyOutCountField.Equals(value))
                {
                    this.MoneyOutCountField = value;
                    this.RaisePropertyChanged("MoneyOutCount");
                }
            }
        }

        [DataMember(Order=7)]
        public DateTime? MoneyOutEnd
        {
            get
            {
                return this.MoneyOutEndField;
            }
            set
            {
                if (!this.MoneyOutEndField.Equals(value))
                {
                    this.MoneyOutEndField = value;
                    this.RaisePropertyChanged("MoneyOutEnd");
                }
            }
        }

        [DataMember(Order=6)]
        public DateTime? MoneyOutStart
        {
            get
            {
                return this.MoneyOutStartField;
            }
            set
            {
                if (!this.MoneyOutStartField.Equals(value))
                {
                    this.MoneyOutStartField = value;
                    this.RaisePropertyChanged("MoneyOutStart");
                }
            }
        }

        [DataMember(Order=4)]
        public decimal UpperMemberFiandianSpance
        {
            get
            {
                return this.UpperMemberFiandianSpanceField;
            }
            set
            {
                if (!this.UpperMemberFiandianSpanceField.Equals(value))
                {
                    this.UpperMemberFiandianSpanceField = value;
                    this.RaisePropertyChanged("UpperMemberFiandianSpance");
                }
            }
        }
    }
}

